import { createApp } from 'vue'
import App from './App.vue'
//vuex
import Store from './store'
// 引入ElementPlus
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
//vue router
import router from "./router"



// 解决 ElTable 自动宽度高度导致的「ResizeObserver loop limit exceeded」问题
const debounce = (fn, delay) => {
    let timer = null;
    return function () {
      let context = this;
      let args = arguments;
      clearTimeout(timer);
      timer = setTimeout(function () {
        fn.apply(context, args);
      }, delay);
    }
  }
  
const _ResizeObserver = window.ResizeObserver;
window.ResizeObserver = class ResizeObserver extends _ResizeObserver{
    constructor(callback) {
        callback = debounce(callback, 16);
        super(callback);
    }
}




//挂载 == el:'#app'
// 将 Store 实例作为插件安装
//use是挂载的意思
createApp(App)
.use(Store)
.use(ElementPlus)
.use(router)
.mount('#app')


